// 引入数据表模型
const User = require('../schema/User');

class UserModel {
  /**
   * 创建用户
   * @param user
   * @returns {Promise<*>}
   */
  static async createUser(user) {
    return await User.create(user)
      .catch(function(err) {
        throw err;
      });
  }

  /**
   * 删除用户
   * @returns {Promise<*>}
   * @param UserID
   */
  static async deleteUser(UserID) {
    return await User.destroy({
      where: {
        UserID: UserID
      },
    }).catch(function(err) {
      throw err;
    });
  }

  /**
   * 更新用户信息
   * @returns {Promise<*>}
   * @param User
   */
  static async updateUser(User) {
    return await User.update(User, {
      where: {
        UserID: User.UserID
      }
    }).catch(function(err) {
      throw err;
    });
  }

  /**
   * 分页获取所有用户信息
   * @returns {Promise<*>}
   * @param params
   */
  static async getAllUser() {
    return await User.findAndCountAll()
    .catch(function(err) {
      throw err;
    });
  }

  /**
   * 通过用户名称查询用户
   * @returns {Promise<*>}
   * @param UserName
   */
  static async getUserByName(UserName) {
    return await User.findOne({
      where: {
        UserName: UserName
      }
    }).catch(function(err) {
      throw err;
    });
  }
}

module.exports = UserModel;